<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // for ...of ... ES6语法
        // let arr = ["张三","李四","王五"];
        // console.log(arr);
        // for(let val of arr){
        //     console.log(val);
        // }

        // let  obj = {
        //     name:"张三",
        //     age:20
        // }
        // console.log(obj);

        // for(let val of obj){
        //     console.log(val);
        // }


        // let set  = new Set([1,2,3]);
        // // console.log(set);
        // for(let val of set){
        //     console.log(val);
        // }


        // let map = new Map([["name","张安"],["age",20]]);
        // for(let [key,val] of map){
        //     console.log(key,val);
        // }


        let arr = ["张三","李四","王五"];
    //     // 获取迭代器
    //     console.log(arr);
    //     // console.log( arr[Symbol.iterator]())
    //    let iter =  arr[Symbol.iterator]();
    //    console.log( iter.next());
    //    console.log( iter.next());
    //    console.log( iter.next());
    //    console.log( iter.next());

    function myiterator(arr){
        let num = 0;
        return {
            next(){
                return {
                    value:arr[num++],
                    done:num>arr.length?true:false
                }
            }
        }
    }


  let res =   myiterator(arr);
  console.log( res.next());
  console.log( res.next());
  console.log( res.next());
  console.log( res.next());

//   通过面向对象写选项卡 ？
// 1.写一个选项卡 
// 2.写3个选项卡 
// 3.第二个选项卡 有下一页功能
// 4.第三个选项卡有轮播功能

// 把共性问题 抽象成类 （构造函数 ）
// 把特性问题方法实例上分别处理

    </script>
</body>
</html>